home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Online / AmigaTalk / intuition / IDCMPFlags.st < prev    next >
Text File  |  2002-03-17  |  4KB  |  99 lines

  1. " -------------------------------------------------------------------- "
  2. " IDCMPFlags Class is a Singleton class that allows the user to        "
  3. " reference IDCMP Flags without having to remember their actual        "
  4. " hexadecimal values.  This Class is instantiated by the Intuition     "
  5. " class.                                                               "
  6. ""
  7. " The User does NOT need to create one of these, since Intuition Class "
  8. " will instantiate the only needed instance of this Class.  See the    "
  9. " SetupIntuition.st source file for the method(s) that help the User   "
  10. " with this Class.                                                     "
  11. ""
  12. "   EXAMPLE:  'myTag <- intuition getIDCMPFlag: #IDCMP_SIZEVERIFY'     "
  13. ""
  14. " ALL singleton classes MUST contain the following:                    "
  15. ""
  16. "   the methods:  isSingleton AND privateSetup     AND                 "
  17. "                 uniqueInstance Class instance variable.              "
  18. " -------------------------------------------------------------------- "
  19.  
  20. Class IDCMPFlags :Dictionary ! uniqueInstance !
  21. [
  22.    isSingleton
  23.      ^ true  
  24. |  
  25.    privateNew ! newinstance !
  26.      newinstance <- super new.
  27.  
  28.      ^ newinstance
  29. |
  30.    new
  31.      ^ self privateSetup
  32. |
  33.    privateSetup
  34.      (uniqueInstance isNil)
  35.        ifTrue: [uniqueInstance <- self privateNew.
  36.  
  37.                 self at: #IDCMP_SIZEVERIFY     put: 1.
  38.                 self at: #IDCMP_NEWSIZE        put: 2.
  39.                 self at: #IDCMP_REFRESHWINDOW  put: 4.
  40.                 self at: #IDCMP_MOUSEBUTTONS   put: 8.
  41.  
  42.                 self at: #IDCMP_MOUSEMOVE      put: 16r10.
  43.                 self at: #IDCMP_GADGETDOWN     put: 16r20.
  44.                 self at: #IDCMP_GADGETUP       put: 16r40.
  45.                 self at: #IDCMP_REQSET         put: 16r80.
  46.  
  47.                 self at: #IDCMP_MENUPICK       put: 16r100.
  48.                 self at: #IDCMP_CLOSEWINDOW    put: 16r200.
  49.                 self at: #IDCMP_RAWKEY         put: 16r400.
  50.                 self at: #IDCMP_REQVERIFY      put: 16r800.
  51.  
  52.                 self at: #IDCMP_REQCLEAR       put: 16r1000.
  53.                 self at: #IDCMP_MENUVERIFY     put: 16r2000.
  54.                 self at: #IDCMP_NEWPREFS       put: 16r4000.
  55.                 self at: #IDCMP_DISKINSERTED   put: 16r8000.
  56.  
  57.                 self at: #IDCMP_DISKREMOVED    put: 16r10000.
  58.  
  59.                 "16r20000 is for System use only"
  60.   
  61.                 self at: #IDCMP_ACTIVEWINDOW   put: 16r40000.
  62.                 self at: #IDCMP_INACTIVEWINDOW put: 16r80000.
  63.  
  64.                 self at: #IDCMP_DELTAMOVE      put: 16r100000.
  65.                 self at: #IDCMP_VANILLAKEY     put: 16r200000.
  66.                 self at: #IDCMP_INTUITICKS     put: 16r400000.
  67.                 self at: #IDCMP_IDCMPUPDATE    put: 16r800000.
  68.  
  69.                 self at: #IDCMP_MENUHELP       put: 16r1000000.
  70.                 self at: #IDCMP_CHANGEWINDOW   put: 16r2000000.
  71.                 self at: #IDCMP_GADGETHELP     put: 16r4000000.
  72.  
  73.                 " GadTools use these flag summations for different
  74.                 * types of GadTools:
  75.                 "
  76.                 self at: #ARROWIDCMP           put: 16r400068.
  77.                 self at: #BUTTONIDCMP           put: 16r40.     "IDCMP_GADGETUP"
  78.                 self at: #CHECKBOXIDCMP           put: 16r40.
  79.                 self at: #INTEGERIDCMP           put: 16r40.
  80.                 self at: #LISTVIEWIDCMP           put: 16r400078.
  81.                 self at: #MXIDCMP              put: 16r20.     "IDCMP_GADGETDOWN"
  82.                 self at: #NUMBERIDCMP          put: 0.
  83.                 self at: #CYCLEIDCMP           put: 16r40.
  84.                 self at: #PALETTEIDCMP         put: 16r40.
  85.  
  86.                 self at: #ARROWSCROLLIDCMP     put: 16r400078. 
  87.  
  88.                 " Use ARROWIDCMP | SCROLLERIDCMP if your scrollers have arrows,
  89.                 * or use my #ARROWSCROLLIDCMP value above: 
  90.                 "
  91.                 self at: #SCROLLERIDCMP           put: 16r70.
  92.                 self at: #SLIDERIDCMP           put: 16r70.
  93.                 self at: #STRINGIDCMP          put: 16r40.     "IDCMP_GADGETUP"
  94.                 self at: #TEXTIDCMP            put: 0.
  95.                ].
  96.                
  97.      ^ self "uniqueInstance??"
  98. ]
  99.